ES Modules
ECMAScript
で規格化された
JavaScript
のモジュールシステム
Node.js
で動かす
CommonJS
は同期的だが、ブラウザ上での動作も想定したES Modulesは非同期的にモジュールを読み込む
code:foo.mjs
// Node.jsの例
// デフォルトインポート
import Path from "node:path";
// 名前付きインポート
import { setTimeout } from "node:timers/promises";
const foo = 3;
// 名前付きエクスポート
export { foo };
// デフォルトエクスポート
export default 8;